X-Git-Url: https://git.r.bdr.sh/rbdr/map/blobdiff_plain/fdb4633d3e9158e457d57e820df6e1efb4df39c2..f93215a7b37e065a0a52a852bb2c35d2a3d77b0b:/Map/Presentation/Base%20Components/EvolutionPicker.swift?ds=inline diff --git a/Map/Presentation/Base Components/EvolutionPicker.swift b/Map/Presentation/Base Components/EvolutionPicker.swift index c68e90c..03f5145 100644 --- a/Map/Presentation/Base Components/EvolutionPicker.swift +++ b/Map/Presentation/Base Components/EvolutionPicker.swift @@ -1,41 +1,47 @@ +/* + Copyright (C) 2024 Rubén Beltrán del Río + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see https://map.tranquil.systems. + */ import SwiftUI struct EvolutionPicker: View { - @EnvironmentObject private var store: AppStore - - private var selectedEvolution: Binding { - Binding( - get: { store.state.selectedEvolution }, - set: { evolution in - store.send(.selectEvolution(evolution: evolution)) - } - ) - } + @Binding var selectedEvolution: StageType var body: some View { - Picker("Evolution", selection: selectedEvolution) { + Picker("Evolution", selection: $selectedEvolution) { ForEach(StageType.types) { stage in - Text(Stage.title(stage)).tag(stage).padding(4.0) + Text(Stage.title(stage)).font(.theme.body).tag(stage).padding(4.0) } Divider() ForEach(StageType.characteristics) { stage in - Text(Stage.title(stage)).tag(stage).padding(4.0) + Text(Stage.title(stage)).font(.theme.body).tag(stage).padding(4.0).font(.theme.body) } Divider() ForEach(StageType.properties) { stage in - Text(Stage.title(stage)).tag(stage).padding(4.0) + Text(Stage.title(stage)).font(.theme.body).tag(stage).padding(4.0) } Divider() ForEach(StageType.custom) { stage in - Text(Stage.title(stage)).tag(stage).padding(4.0) + Text(Stage.title(stage)).font(.theme.body).tag(stage).padding(4.0) } - }.padding(.horizontal, 8.0).padding(.vertical, 4.0) + }.font(.theme.body).padding(.horizontal, 8.0).padding(.vertical, 4.0) } } -struct EvolutionPicker_Previews: PreviewProvider { - static var previews: some View { - EvolutionPicker() - } +#Preview { + let selectedEvolution: StageType = .behavior + EvolutionPicker(selectedEvolution: .constant(selectedEvolution)) }